//引包
const mongoose = require('mongoose');
var Schema = mongoose.Schema

//1.连接MongoDB数据库
mongoose.connect('mongodb://localhost:27017/itcast');

//2.设计集合结构
const userSchema = new Schema({
    username: {
        type: String,
        required: true
    },
    password: {
        type: String,
        required: true
    },
    email: {
        type: String
    }
  });

//3.将文档结构发布为模型
// mongoose.model() User会转为users集合，userSchema架构
//返回模型构造函数
var User = mongoose.model('User', userSchema)

//4. 模型构造函数对users集合中数据增删改查
var admin = new User({
    username: "admin",
    password: '123456',
    email: 'admin@admin.com'
})

admin.save(function (err, ret) {
    if (err) {
        console.log('保存失败')
    } else {
        console.log('保存成功')
    }
})

var zs = new User({
    username: "zs",
    password: '123456',
    email: 'zs@zs.com'
})

zs.save(function (err) {
    if (err) {
        console.log('保存失败')
    } else {
        console.log('保存成功')
    }
})

//查询数据
User.find(function (err, ret) {
    if (err) {
        console.log('查询失败')
    } else {
        console.log(ret)
    }
})

// User.find({
//     username: 'admin'
// }, function (err, ret) {
//     if (err) {
//         console.log('查询失败')
//     } else {
//         console.log(ret)
//     }
// })

//删除数据
// User.remove({
//     username: 'zs'
// }, function (err, ret){
//     if (err) {
//         console.log('删除失败')
//     } else {
//         console.log('删除成功')
//     }
// })

//更新数据
User.findByIdAndUpdate('6183e05fc593bd289e60fca5', {
    password: '121'
}, function (err, ret){
    if (err) {
        console.log('更新失败')
    } else {
        console.log('更新成功')
    }
})